package cn.iocoder.yudao.module.written.exam.controller.app.writtenexam.vo.llm;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "用户APP - 大模型对话历史 Response VO")
@Data
public class LlmChatHistoryRespVO {

    @Schema(description = "会话ID", example = "506d2a6f-7424-4807-9112-8cd75caffa60")
    private String conversationId;

    @Schema(description = "会话标题", example = "关于图片的讨论")
    private String title;

    @Schema(description = "用户ID", example = "abc-123")
    private String userId;

    @Schema(description = "消息数量", example = "5")
    private Integer messageCount;

    @Schema(description = "最后消息时间", example = "2024-01-01 12:00:00")
    private LocalDateTime lastMessageTime;

    @Schema(description = "创建时间", example = "2024-01-01 12:00:00")
    private LocalDateTime createTime;

    @Schema(description = "消息列表")
    private List<LlmChatMessageVO> messages;

    @Schema(description = "用户APP - 大模型消息 VO")
    @Data
    public static class LlmChatMessageVO {

        @Schema(description = "消息ID", example = "6534b086-c906-4576-9b06-0ba036293b89")
        private String messageId;

        @Schema(description = "消息类型", example = "user")
        private String messageType;

        @Schema(description = "消息内容", example = "这张图片是什么意思?")
        private String content;

        @Schema(description = "文件ID列表")
        private List<String> fileIds;

        @Schema(description = "创建时间", example = "2024-01-01 12:00:00")
        private LocalDateTime createTime;

    }

} 